/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;

import java.awt.GridLayout;
import java.sql.*;
import java.util.ArrayList;


import javax.swing.JOptionPane;

public class manejarIniciarSession {

    indexInicio Isesion;
    ConexionBaseDatos cbdp = new ConexionBaseDatos();
    private Connection con;
    ArrayList list;
    jspPanelAccionesCoordinador panecordinador;
    jspPanelAccionesPromotor panelpromotor;
    jspPanelaAccionesMedico panelmedico;
 

    public manejarIniciarSession() {
        con = cbdp.Conexion();
        list = new ArrayList();


    }

    public String[] iniciarsesion1(int id) {
        String clave = "";
        String nombrecargo = "";
        String nombre = "";
        String apellidos = "";
        String vector[] = new String[5];

        try {
            String sesion = "select empleado.nombre, empleado.apellidos, empleado.clave, cargo.nombre from empleado ,cargo  where cargo.cod_cargo=empleado.cargo and identificacion=" + id;

            Statement ps = con.createStatement();
            ResultSet rs = ps.executeQuery(sesion);



            while (rs.next()) {

                clave = rs.getString("empleado.clave");
                nombrecargo = rs.getString("cargo.nombre");
                nombre = rs.getString("empleado.nombre");
                apellidos = rs.getString("empleado.apellidos");


            }

            vector[0] = clave;
            vector[1] = nombrecargo;
            vector[2] = nombre;
            vector[3] = apellidos;
            vector[4] = String.valueOf(id);

        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, e);
        }

        return vector;
    }
//metodo para iniciar sseion

    public void obtenerdato(indexInicio vista) {

        int a = 0;
        try {
            a = Integer.parseInt(vista.getCodigoUsuario().getText());
            String e[] = iniciarsesion1(a);
            System.out.println(e.length);


            if (e[0].equals(vista.getContrasenaUsuario().getText())) {

                if (e[1].equals("Coordinador")) {

                    fc = new frameCordinador();  //creo una instancia de la ventan frame cordinador
                    panecordinador = new panelaccionecordinador(fc); //le pasamos alreferencia de la vista al panel acciones controlado
                    fc.paneacciones.setLayout(new GridLayout(0, 1));//agregmos el el layaout par ael nuevo panel
                    fc.paneacciones.add(panecordinador);//agrgamos el panel ala vista
                    fc.getLbelcambiar().setText("Usted ha ingresado al sistema bajo el cargo de cordinador");
                    llenarIG(fc, e);
                    fc.setVisible(true);//la hacemos visible
                    fc.pack();//ajustamo el frame
                    vista.setVisible(false);//ocutamos el iniciao de sesion


                } else if (e[1].equals("Promotor")) {

                    fc = new frameCordinador();  //creo una instancia de la ventan frame cordinador
                    panelpromotor = new panelaccionespromotor(fc); //le pasamos alreferencia de la vista al panel acciones controlado
                    fc.paneacciones.setLayout(new GridLayout(0, 1));//agregmos el el layaout par ael nuevo panel
                    fc.paneacciones.add(panelpromotor);//agrgamos el panel ala vista
                    fc.getLbelcambiar().setText("Usted ha ingresado al sistema bajo el cargo de promotor");
                    llenarIG(fc, e);
                    comedor(panelpromotor, a);//sacamos el comedor de promotor
                    if (panelpromotor.getCodigo_comedor() == 0) {
                        JOptionPane.showMessageDialog(null, "Usted no tine comedores asignados\n Comuníquese con la coordinación ");
                    } else {
                        fc.setVisible(true);//la hacemos visible
                        fc.pack();//ajustamo el frame
                        vista.setVisible(false);//ocutamos el iniciao de sesion
                    }

                } else if (e[1].equals("Medico")) {

                    fc = new frameCordinador();  //creo una instancia de la ventan frame cordinador
                    panelmedico = new panelaccionesmedico(fc); //le pasamos alreferencia de la vista al panel acciones controlado
                    fc.paneacciones.setLayout(new GridLayout(0, 1));//agregmos el el layaout par ael nuevo panel
                    fc.paneacciones.add(panelmedico);//agrgamos el panel ala vista
                    fc.getLbelcambiar().setText("Usted ha ingresado al sistema bajo el cargo de medico");
                    llenarIG(fc, e);
                    if (estadomedico(a) == 1) {
                        fc.setVisible(true);//la hacemos visible
                        fc.pack();//ajustamo el frame
                        vista.setVisible(false);//ocutamos el iniciao de sesion
                    } else {
                        JOptionPane.showMessageDialog(null, "Su estado es Inactivo\n Comuníquese con la coordinación");

                    }

                }

            }else{

            JOptionPane.showMessageDialog(null,"EL Usuario No Existe");

            }



        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "No es una identificacion validad");

        }

        // System.out.println(vista.getCodigoUsuario().getText());

    }

    public void llenarIG(frameCordinador f, String vector[]) {

        f.getTexcc().setText(vector[4]);
        f.getTexname().setText(vector[2]);
        f.getTexapellido().setText(vector[3]);

    }

    public int estadomedico(int a) {
        int estado = 0;
        try {
            String sesion = "SELECT estado from empleado where identificacion=" + a;

            Statement ps = con.createStatement();
            ResultSet rs = ps.executeQuery(sesion);



            while (rs.next()) {

                estado = rs.getInt("estado");

            }


        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, e);
        }

        return estado;
    }

    public void comedor(panelaccionespromotor p, int id) {

        try {
            String sesion = "SELECT cod_comedor FROM comedor WHERE promotor = (SELECT cod_empleado FROM empleado WHERE identificacion=" + id + ")";

            Statement ps = con.createStatement();
            ResultSet rs = ps.executeQuery(sesion);



            while (rs.next()) {

                p.setCodigo_comedor(rs.getInt("cod_comedor"));

            }



            System.out.println("Codigo de la bd: " + p.getCodigo_comedor());

        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, e);
        }


    }
}
